Non-volatile memory or non-volatile storage may be described as computer memory that is capable of retaining stored information even when not powered. Examples of non-volatile memory include read-only memory, spin-transfer torque magnetic random-access memory (STT-RAM or STT-MRAM), phase-change memory (PCM), Non-Volatile Dual In-line Memory Module (NVDIMM), flash memory, most types of magnetic computer storage devices (e.g. hard disks, floppy disks, and magnetic tape), optical discs, and early computer storage methods such as paper tape and punch cards.
The most widely used form of primary storage today is a volatile form of random access memory (“RAM”) which is a non-persistent type of storage. Conventionally, the file system recovers from the second storage, such as hard disk, flash storage when the power of the computer system shuts down unexpectedly.
Non-volatile memory, on the other hand, is typically used for the task of secondary storage, or long-term persistent storage. Hence, as the memory is becoming non-volatile, persistency moves to the memory layer. However, the operating system is not aware of this change in the memory persistency.
A need therefore exists to provide a method for rebooting a file system using a non-volatile memory. It is against this background that the present invention has been developed.